﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Web.Mvc;
using System.Web.Mvc.Html;
using Vit.Web.Models;

namespace Vit.Web.Services
{
    public interface IAccountProvider
    {
        User GetCurrentUser();
        User CreateAnoymousUser(string siteName);
        User GetUserByName(string siteName, string name);
        User GetUserById(string siteName, object id);

        bool CheckUserPermission(User user, string siteName, string area, string controller, string action);
        bool CheckUserPermission(User user, string siteName, string uri);

        bool CheckUserModelPermission(User user, string siteName, Type entityType, string propertyName);
    }
}
